package com.ruoyi.web.service;


import com.ruoyi.common.base.chat.domain.Chat;
import com.ruoyi.common.base.chat.dto.ChatEditDTO;
import com.ruoyi.common.base.chat.vo.ChatAppVO;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;

/**
 * 会话Service接口
 *
 * @author gdk
 * @date 2023-05-15
 */
public interface IChatService {
    /**
     * 查询会话
     *
     * @param id 会话主键
     * @return 会话
     */
    public Chat selectChatById(Long id);

    /**
     * 查询会话列表
     *
     * @param chat 会话
     * @return 会话集合
     */
    public List<Chat> selectChatList(Chat chat);

    /**
     * 新增会话
     *
     * @param chat 会话
     * @return 结果
     */
    public int insertChat(Chat chat);

    /**
     * 修改会话
     *
     * @param chat 会话
     * @return 结果
     */
    public int updateChat(Chat chat);

    /**
     * 批量删除会话
     *
     * @param ids 需要删除的会话主键集合
     * @return 结果
     */
    public int deleteChatByIds(Long[] ids);

    /**
     * 删除会话信息
     *
     * @param id 会话主键
     * @return 结果
     */
    public int deleteChatById(Long id);

    /**
     * 列表
     *
     * @param condition 条件
     * @return {@link TableDataInfo}
     * @author gdk
     * @since 2023/5/16 16:51
     */
    TableDataInfo appList(Chat condition);

    /**
     * 修改会话
     *
     * @param dto dto
     * @author gdk
     * @since 2023/5/20 12:42
     */
    void edit(ChatEditDTO dto);

    /**
     * 删除会话
     *
     * @param id id
     * @author gdk
     * @since 2023/5/16 17:28
     */
    void remove(Long id);

    /**
     * 删除所有会话
     *
     * @author gdk
     * @since 2023/5/16 17:28
     */
    void removeAll();
}
